﻿package org.flixel
{

    public class FlxBasic extends Object
    {
        public var ID:int;
        public var exists:Boolean;
        public var active:Boolean;
        public var visible:Boolean;
        public var alive:Boolean;
        public var cameras:Array;
        public var ignoreDrawDebug:Boolean;
        static var _ACTIVECOUNT:uint;
        static var _VISIBLECOUNT:uint;

        public function FlxBasic()
        {
            this.ID = -1;
            this.exists = true;
            this.active = true;
            this.visible = true;
            this.alive = true;
            this.ignoreDrawDebug = false;
            return;
        }// end function

        public function destroy() : void
        {
            return;
        }// end function

        public function preUpdate() : void
        {
            var _loc_2:* = _ACTIVECOUNT + 1;
            _ACTIVECOUNT = _loc_2;
            return;
        }// end function

        public function update() : void
        {
            return;
        }// end function

        public function postUpdate() : void
        {
            return;
        }// end function

        public function draw() : void
        {
            var _loc_1:FlxCamera = null;
            if (this.cameras == null)
            {
                this.cameras = FlxG.cameras;
            }
            var _loc_2:uint = 0;
            var _loc_3:* = this.cameras.length;
            while (_loc_2 < _loc_3)
            {
                
                _loc_1 = this.cameras[_loc_2++];
                var _loc_5:* = _VISIBLECOUNT + 1;
                _VISIBLECOUNT = _loc_5;
                if (FlxG.visualDebug && !this.ignoreDrawDebug)
                {
                    this.drawDebug(_loc_1);
                }
            }
            return;
        }// end function

        public function drawDebug(param1:FlxCamera = null) : void
        {
            return;
        }// end function

        public function kill() : void
        {
            this.alive = false;
            this.exists = false;
            return;
        }// end function

        public function revive() : void
        {
            this.alive = true;
            this.exists = true;
            return;
        }// end function

        public function toString() : String
        {
            return FlxU.getClassName(this, true);
        }// end function

    }
}
